The present invention relates to a decoding method and apparatus in a communication system using channel optimized vector quantization.
Vector quantization (VQ) is a data encoding method in which a sample vector consisting of several samples is approximated by the xe2x80x9cnearestxe2x80x9d vector of a collection of vectors called a code book. Instead of representing the sample vector by its components, it is represented by the code book index of this xe2x80x9cnearestxe2x80x9d code book vector. This index is transmitted to a decoder, which uses the index to retrieve the corresponding code book vector from a copy of the code book. Vector quantization is used in, for example, speech coding in mobile telephony. A drawback of this method is that the transmitted index may, due to the influence of the transmission channel, not always be the same as the received index. In these cases, the actually decoded vector may differ significantly from the original sample vector.
An often used approach to reduce the sensitivity to channel errors is to apply forward error correction coding (FEC). In this way the decoder may detect and even correct errors that occurred during transmission before code book lookup. However, a drawback of this method is that redundancy has to be introduced in the code words that are transmitted over the channel. Furthermore, this method requires very long codes in order to give an acceptable error rate performance. A common way to obtain such long code words is to collect indices from several vector quantized sample vectors before the FEC coding is performed. This collecting process results in a substantial delay, which is in general undesirable in real time applications, such as mobile telephony or video and audio transmission.
An alternative approach to error protection is channel optimized vector quantization (COVQ), see ref. [1,2]. Instead of protecting the transmitted index against channel errors COVQ takes into account the statistical properties of the channel already in the code book construction. The idea behind COVQ is that although the wrong code book index may have been received, the decoded code book vector should still be xe2x80x9cclosexe2x80x9d to the original sample vector. A characteristic feature of COVQ is that the number of indices that may be transmitted is actually smaller than the number of indices that may be received. In this way, the code book may contain vectors xe2x80x9cin betweenxe2x80x9d code book vectors corresponding to actually transmitted indices. A channel error may therefore still result in a decoded vector that is xe2x80x9cclosexe2x80x9d to the intended vector. Thus, COVQ offers a jointly optimized vector quantization and channel protection system. Since long code words are not required, the extra delay introduced by FEC coding may be avoided. A characteristic feature of conventional COVQ is that it has very large storage requirements, since the number of code book vectors is very large. There already exist methods to reduce these storage requirements on the encoder side down to the same as for normal VQ, see [3].
On the decoder side there has been suggested 141 an algorithm for soft decoding of received signals. However, this algorithm is computationally intense.
An object of the present invention is to provide a COVQ decoding method and apparatus in which the storage and computational requirements in the decoder are significantly reduced.
This object is achieved by a method and apparatus in accordance with the enclosed patent claims.
Briefly, the present invention achieves the above object by storing centroid vectors that correspond to active indices (indices that may actually be sent) in the decoder, and calculating the resulting decoder output vector from these vectors, stored source probabilities, a transmission channel quality measure and an actually received index. As will be shown below, this significantly reduces the storage requirements.
Furthermore, the computational complexity is reduced by including only the most significant contributions in the calculations.